Public Class NPeriododeLicencia
    Public Function cargarPeriodoDeLicencia(ByVal periodo As Entidades.EPeriododeLicencia) As Boolean
        'utiliza la capa de datos
        Dim oDatos As New Datos.DPeriododeLicencia
        Try
            If periodo.FechaAlta > periodo.FechaBaja Then Throw New ArgumentException("La fecha de alta es posterior a la fecha de baja.")
            If oDatos.existePeriodoLic(periodo) Then Throw New ArgumentException("El personal ya tiene asignado esta licencia.")
            Return oDatos.cargarPeriodoDeLicencia(periodo)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
    End Function

    Public Function modificarPeriodo(ByVal periodo As Entidades.EPeriododeLicencia, ByVal fechaA As Date, ByVal fechaB As Date) As Boolean
        'utiliza la capa de datos
        Dim oDatos As New Datos.DPeriododeLicencia
        Dim band As Boolean
        Try
            band = oDatos.modificarPeriodo(periodo, fechaA, fechaB)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
        Return band
    End Function

    Public Function activarSiNoPeriodoLic(ByVal periodo As Entidades.EPeriododeLicencia) As Boolean
        'utiliza la capa de datos
        Dim oDatos As New Datos.DPeriododeLicencia
        Dim band As Boolean
        Try
            band = oDatos.activarSiNoPeriodoLic(periodo)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
        Return band
    End Function

    'sobrecargado
    Public Function buscarLicenciaPorLegajo(ByVal docente As Entidades.EPersonal) As List(Of Entidades.EPeriododeLicencia)
        Dim oDatos As New Datos.DPeriododeLicencia
        Try
            Return oDatos.buscarLicenciaPorLegajo(docente)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
    End Function

    'sobrecargado
    Public Function buscarLicenciaPorLegajo(ByVal docente As Entidades.EPersonal, ByVal cond As Boolean) As List(Of Entidades.EPeriododeLicencia)
        Dim oDatos As New Datos.DPeriododeLicencia
        Try
            Return oDatos.buscarLicenciaPorLegajo(docente, cond)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        Finally
            oDatos = Nothing
        End Try
    End Function
    
End Class
